(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
U11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))
U22(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → tt
U61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))
U72(tt) → tt
U81(tt) → tt
isList(V) → U11(isNeList(activate(V)))
isList(n__nil) → tt
isList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))
isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))
isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))
isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
nil → n__nil
__(X1, X2) → n____(X1, X2)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X
Rewrite Strategy: FULL
(1) DecreasingLoopProof (EQUIVALENT transformation)
The following loop(s) give(s) rise to the lower bound Ω(n1):
The rewrite sequence
isList(n____(V143772_0, V243773_0)) →+ U11(U41(isList(V143772_0), activate(V243773_0)))
gives rise to a decreasing loop by considering the right hand sides subterm at position [0,0].
The pumping substitution is [V143772_0 / n____(V143772_0, V243773_0)].
The result substitution is [ ].
(2) BOUNDS(n^1, INF)
(3) RenamingProof (EQUIVALENT transformation)
Renamed function symbols to avoid clashes with predefined symbol.
(4) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
U11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))
U22(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → tt
U61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))
U72(tt) → tt
U81(tt) → tt
isList(V) → U11(isNeList(activate(V)))
isList(n__nil) → tt
isList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))
isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))
isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))
isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
nil → n__nil
__(X1, X2) → n____(X1, X2)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X
S is empty.
Rewrite Strategy: FULL
(5) TypeInferenceProof (BOTH BOUNDS(ID, ID) transformation)
Infered types.
(6) Obligation:
TRS:
Rules:
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
U11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))
U22(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → tt
U61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))
U72(tt) → tt
U81(tt) → tt
isList(V) → U11(isNeList(activate(V)))
isList(n__nil) → tt
isList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))
isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))
isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))
isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
nil → n__nil
__(X1, X2) → n____(X1, X2)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X
Types:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → tt
tt :: tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U31 :: tt → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → tt
U61 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U81 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
(7) OrderProof (LOWER BOUND(ID) transformation)
Heuristically decided to analyse the following defined symbols:
__,
isList,
isNeList,
isPal,
isNePalThey will be analysed ascendingly in the following order:
isList = isNeList
isPal = isNePal
(8) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt) →
ttU21(
tt,
V2) →
U22(
isList(
activate(
V2)))
U22(
tt) →
ttU31(
tt) →
ttU41(
tt,
V2) →
U42(
isNeList(
activate(
V2)))
U42(
tt) →
ttU51(
tt,
V2) →
U52(
isList(
activate(
V2)))
U52(
tt) →
ttU61(
tt) →
ttU71(
tt,
P) →
U72(
isPal(
activate(
P)))
U72(
tt) →
ttU81(
tt) →
ttisList(
V) →
U11(
isNeList(
activate(
V)))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isList(
activate(
V1)),
activate(
V2))
isNeList(
V) →
U31(
isQid(
activate(
V)))
isNeList(
n____(
V1,
V2)) →
U41(
isList(
activate(
V1)),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isNeList(
activate(
V1)),
activate(
V2))
isNePal(
V) →
U61(
isQid(
activate(
V)))
isNePal(
n____(
I,
__(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
P))
isPal(
V) →
U81(
isNePal(
activate(
V)))
isPal(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → tt
tt :: tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U31 :: tt → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → tt
U61 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U81 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
The following defined symbols remain to be analysed:
__, isList, isNeList, isPal, isNePal
They will be analysed ascendingly in the following order:
isList = isNeList
isPal = isNePal
(9) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol __.
(10) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt) →
ttU21(
tt,
V2) →
U22(
isList(
activate(
V2)))
U22(
tt) →
ttU31(
tt) →
ttU41(
tt,
V2) →
U42(
isNeList(
activate(
V2)))
U42(
tt) →
ttU51(
tt,
V2) →
U52(
isList(
activate(
V2)))
U52(
tt) →
ttU61(
tt) →
ttU71(
tt,
P) →
U72(
isPal(
activate(
P)))
U72(
tt) →
ttU81(
tt) →
ttisList(
V) →
U11(
isNeList(
activate(
V)))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isList(
activate(
V1)),
activate(
V2))
isNeList(
V) →
U31(
isQid(
activate(
V)))
isNeList(
n____(
V1,
V2)) →
U41(
isList(
activate(
V1)),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isNeList(
activate(
V1)),
activate(
V2))
isNePal(
V) →
U61(
isQid(
activate(
V)))
isNePal(
n____(
I,
__(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
P))
isPal(
V) →
U81(
isNePal(
activate(
V)))
isPal(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → tt
tt :: tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U31 :: tt → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → tt
U61 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U81 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
The following defined symbols remain to be analysed:
isNePal, isList, isNeList, isPal
They will be analysed ascendingly in the following order:
isList = isNeList
isPal = isNePal
(11) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol isNePal.
(12) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt) →
ttU21(
tt,
V2) →
U22(
isList(
activate(
V2)))
U22(
tt) →
ttU31(
tt) →
ttU41(
tt,
V2) →
U42(
isNeList(
activate(
V2)))
U42(
tt) →
ttU51(
tt,
V2) →
U52(
isList(
activate(
V2)))
U52(
tt) →
ttU61(
tt) →
ttU71(
tt,
P) →
U72(
isPal(
activate(
P)))
U72(
tt) →
ttU81(
tt) →
ttisList(
V) →
U11(
isNeList(
activate(
V)))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isList(
activate(
V1)),
activate(
V2))
isNeList(
V) →
U31(
isQid(
activate(
V)))
isNeList(
n____(
V1,
V2)) →
U41(
isList(
activate(
V1)),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isNeList(
activate(
V1)),
activate(
V2))
isNePal(
V) →
U61(
isQid(
activate(
V)))
isNePal(
n____(
I,
__(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
P))
isPal(
V) →
U81(
isNePal(
activate(
V)))
isPal(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → tt
tt :: tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U31 :: tt → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → tt
U61 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U81 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
The following defined symbols remain to be analysed:
isPal, isList, isNeList
They will be analysed ascendingly in the following order:
isList = isNeList
isPal = isNePal
(13) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol isPal.
(14) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt) →
ttU21(
tt,
V2) →
U22(
isList(
activate(
V2)))
U22(
tt) →
ttU31(
tt) →
ttU41(
tt,
V2) →
U42(
isNeList(
activate(
V2)))
U42(
tt) →
ttU51(
tt,
V2) →
U52(
isList(
activate(
V2)))
U52(
tt) →
ttU61(
tt) →
ttU71(
tt,
P) →
U72(
isPal(
activate(
P)))
U72(
tt) →
ttU81(
tt) →
ttisList(
V) →
U11(
isNeList(
activate(
V)))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isList(
activate(
V1)),
activate(
V2))
isNeList(
V) →
U31(
isQid(
activate(
V)))
isNeList(
n____(
V1,
V2)) →
U41(
isList(
activate(
V1)),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isNeList(
activate(
V1)),
activate(
V2))
isNePal(
V) →
U61(
isQid(
activate(
V)))
isNePal(
n____(
I,
__(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
P))
isPal(
V) →
U81(
isNePal(
activate(
V)))
isPal(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → tt
tt :: tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U31 :: tt → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → tt
U61 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U81 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
The following defined symbols remain to be analysed:
isNeList, isList
They will be analysed ascendingly in the following order:
isList = isNeList
(15) RewriteLemmaProof (LOWER BOUND(ID) transformation)
Proved the following rewrite lemma:
isNeList(
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(
n707_0)) →
*4_0, rt ∈ Ω(n707
0)
Induction Base:
isNeList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0))
Induction Step:
isNeList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(n707_0, 1))) →RΩ(1)
U51(isNeList(activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n707_0))), activate(n__nil)) →RΩ(1)
U51(isNeList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n707_0)), activate(n__nil)) →IH
U51(*4_0, activate(n__nil)) →RΩ(1)
U51(*4_0, n__nil)
We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).
(16) Complex Obligation (BEST)
(17) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt) →
ttU21(
tt,
V2) →
U22(
isList(
activate(
V2)))
U22(
tt) →
ttU31(
tt) →
ttU41(
tt,
V2) →
U42(
isNeList(
activate(
V2)))
U42(
tt) →
ttU51(
tt,
V2) →
U52(
isList(
activate(
V2)))
U52(
tt) →
ttU61(
tt) →
ttU71(
tt,
P) →
U72(
isPal(
activate(
P)))
U72(
tt) →
ttU81(
tt) →
ttisList(
V) →
U11(
isNeList(
activate(
V)))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isList(
activate(
V1)),
activate(
V2))
isNeList(
V) →
U31(
isQid(
activate(
V)))
isNeList(
n____(
V1,
V2)) →
U41(
isList(
activate(
V1)),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isNeList(
activate(
V1)),
activate(
V2))
isNePal(
V) →
U61(
isQid(
activate(
V)))
isNePal(
n____(
I,
__(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
P))
isPal(
V) →
U81(
isNePal(
activate(
V)))
isPal(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → tt
tt :: tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U31 :: tt → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → tt
U61 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U81 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Lemmas:
isNeList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n707_0)) → *4_0, rt ∈ Ω(n7070)
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
The following defined symbols remain to be analysed:
isList
They will be analysed ascendingly in the following order:
isList = isNeList
(18) RewriteLemmaProof (LOWER BOUND(ID) transformation)
Proved the following rewrite lemma:
isList(
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(
n17483_0)) →
tt, rt ∈ Ω(1 + n17483
0)
Induction Base:
isList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0)) →RΩ(1)
tt
Induction Step:
isList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(n17483_0, 1))) →RΩ(1)
U21(isList(activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n17483_0))), activate(n__nil)) →RΩ(1)
U21(isList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n17483_0)), activate(n__nil)) →IH
U21(tt, activate(n__nil)) →RΩ(1)
U21(tt, n__nil) →RΩ(1)
U22(isList(activate(n__nil))) →RΩ(1)
U22(isList(n__nil)) →RΩ(1)
U22(tt) →RΩ(1)
tt
We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).
(19) Complex Obligation (BEST)
(20) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt) →
ttU21(
tt,
V2) →
U22(
isList(
activate(
V2)))
U22(
tt) →
ttU31(
tt) →
ttU41(
tt,
V2) →
U42(
isNeList(
activate(
V2)))
U42(
tt) →
ttU51(
tt,
V2) →
U52(
isList(
activate(
V2)))
U52(
tt) →
ttU61(
tt) →
ttU71(
tt,
P) →
U72(
isPal(
activate(
P)))
U72(
tt) →
ttU81(
tt) →
ttisList(
V) →
U11(
isNeList(
activate(
V)))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isList(
activate(
V1)),
activate(
V2))
isNeList(
V) →
U31(
isQid(
activate(
V)))
isNeList(
n____(
V1,
V2)) →
U41(
isList(
activate(
V1)),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isNeList(
activate(
V1)),
activate(
V2))
isNePal(
V) →
U61(
isQid(
activate(
V)))
isNePal(
n____(
I,
__(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
P))
isPal(
V) →
U81(
isNePal(
activate(
V)))
isPal(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → tt
tt :: tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U31 :: tt → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → tt
U61 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U81 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Lemmas:
isNeList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n707_0)) → *4_0, rt ∈ Ω(n7070)
isList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n17483_0)) → tt, rt ∈ Ω(1 + n174830)
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
The following defined symbols remain to be analysed:
isNeList
They will be analysed ascendingly in the following order:
isList = isNeList
(21) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol isNeList.
(22) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt) →
ttU21(
tt,
V2) →
U22(
isList(
activate(
V2)))
U22(
tt) →
ttU31(
tt) →
ttU41(
tt,
V2) →
U42(
isNeList(
activate(
V2)))
U42(
tt) →
ttU51(
tt,
V2) →
U52(
isList(
activate(
V2)))
U52(
tt) →
ttU61(
tt) →
ttU71(
tt,
P) →
U72(
isPal(
activate(
P)))
U72(
tt) →
ttU81(
tt) →
ttisList(
V) →
U11(
isNeList(
activate(
V)))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isList(
activate(
V1)),
activate(
V2))
isNeList(
V) →
U31(
isQid(
activate(
V)))
isNeList(
n____(
V1,
V2)) →
U41(
isList(
activate(
V1)),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isNeList(
activate(
V1)),
activate(
V2))
isNePal(
V) →
U61(
isQid(
activate(
V)))
isNePal(
n____(
I,
__(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
P))
isPal(
V) →
U81(
isNePal(
activate(
V)))
isPal(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → tt
tt :: tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U31 :: tt → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → tt
U61 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U81 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Lemmas:
isNeList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n707_0)) → *4_0, rt ∈ Ω(n7070)
isList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n17483_0)) → tt, rt ∈ Ω(1 + n174830)
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
No more defined symbols left to analyse.
(23) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
isNeList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n707_0)) → *4_0, rt ∈ Ω(n7070)
(24) BOUNDS(n^1, INF)
(25) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt) →
ttU21(
tt,
V2) →
U22(
isList(
activate(
V2)))
U22(
tt) →
ttU31(
tt) →
ttU41(
tt,
V2) →
U42(
isNeList(
activate(
V2)))
U42(
tt) →
ttU51(
tt,
V2) →
U52(
isList(
activate(
V2)))
U52(
tt) →
ttU61(
tt) →
ttU71(
tt,
P) →
U72(
isPal(
activate(
P)))
U72(
tt) →
ttU81(
tt) →
ttisList(
V) →
U11(
isNeList(
activate(
V)))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isList(
activate(
V1)),
activate(
V2))
isNeList(
V) →
U31(
isQid(
activate(
V)))
isNeList(
n____(
V1,
V2)) →
U41(
isList(
activate(
V1)),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isNeList(
activate(
V1)),
activate(
V2))
isNePal(
V) →
U61(
isQid(
activate(
V)))
isNePal(
n____(
I,
__(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
P))
isPal(
V) →
U81(
isNePal(
activate(
V)))
isPal(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → tt
tt :: tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U31 :: tt → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → tt
U61 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U81 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Lemmas:
isNeList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n707_0)) → *4_0, rt ∈ Ω(n7070)
isList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n17483_0)) → tt, rt ∈ Ω(1 + n174830)
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
No more defined symbols left to analyse.
(26) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
isNeList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n707_0)) → *4_0, rt ∈ Ω(n7070)
(27) BOUNDS(n^1, INF)
(28) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt) →
ttU21(
tt,
V2) →
U22(
isList(
activate(
V2)))
U22(
tt) →
ttU31(
tt) →
ttU41(
tt,
V2) →
U42(
isNeList(
activate(
V2)))
U42(
tt) →
ttU51(
tt,
V2) →
U52(
isList(
activate(
V2)))
U52(
tt) →
ttU61(
tt) →
ttU71(
tt,
P) →
U72(
isPal(
activate(
P)))
U72(
tt) →
ttU81(
tt) →
ttisList(
V) →
U11(
isNeList(
activate(
V)))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isList(
activate(
V1)),
activate(
V2))
isNeList(
V) →
U31(
isQid(
activate(
V)))
isNeList(
n____(
V1,
V2)) →
U41(
isList(
activate(
V1)),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isNeList(
activate(
V1)),
activate(
V2))
isNePal(
V) →
U61(
isQid(
activate(
V)))
isNePal(
n____(
I,
__(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
P))
isPal(
V) →
U81(
isNePal(
activate(
V)))
isPal(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → tt
tt :: tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U31 :: tt → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → tt
U61 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U81 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Lemmas:
isNeList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n707_0)) → *4_0, rt ∈ Ω(n7070)
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
No more defined symbols left to analyse.
(29) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
isNeList(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n707_0)) → *4_0, rt ∈ Ω(n7070)
(30) BOUNDS(n^1, INF)